C语言程序设计(第3版)何钦铭 您所在的位置:网站首页 while 循环展开 C语言程序设计(第3版)何钦铭

C语言程序设计(第3版)何钦铭

2023-04-13 15:35| 来源: 网络整理| 查看: 265

4

 

循环结构

 

 

【练习

 4-1

】在例

 4-1 

程序中,如果对

 item 

赋初值

 0

,运行结果是什么?为

什么?如果将精度改为

 10

-3

,运行结果有变化吗?为什么?

 

解答:

 

如果对

 item 

赋初值

 0

则程序运行结果是

 pi=0

因为

 item 

 0 

时不满

 while 

循环的执行条件,即不执行循环,故

 pi 

值为

 0

。如果将精度改为

 

10-3

,运行结果会有变化,因为精度改变意味着

 while 

循环的条件改变,精度

变大使得

 while 

循环次数减少,必然影响到π的值。

 

【练习

 4-2

  

运行例

 4-2 

程序时,如果将最后一个输入数据改为

-2

,运行结

果有变化吗?如果第一个输入数据是

  -1

,运行结果是什么?为什么?

 

解答:

 

如果将最后一个输入数据改为

-2

运行结果没有变化,

因为最后一个负数是

一结束标志,不进行统计,故任意一个负数都可以。如果第一个输入数据是

-1

运行结果是:

Grade 

averageis 

0

,因为第一个输入就是

-1

,则

 while 

循环条件

不成立,不执行循环体。

 

【练习

 4-3

序列求和

1-1/4+1/7-1/10+1/13-1/16+

…)

输入一个正实数

 eps

计算序列

1-1/4+1/7-1/10+1/13-1/16+

…的值,精确到最后一项的绝对值小于

eps

(保留

6

位小数)

。试编写相应程序。

 

解答:

 

#include  

#include  

int main(void) 

    int denominator, flag;            

    double item, s,eps; 

 

printf(

Input eps:

); 

scanf(“%lf”,&eps);

 

flag = 1;  

denominator = 1 ; 

item = 1.0;  

s = 0; 

    while(fabs (item) >= eps) {      

         item = flag * 1.0 / denominator;  

         s = s + item;  

         flag = -flag;  

         denominator = denominator +3;  

    } 

printf ( “s = %f

\

n”, s);

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有